﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NUnit.Framework;

namespace Ruleweaver
{
	[TestFixture]
	public class Int64Fixture
	{
		[TestCase(0, Result = true)]
		[TestCase(1, Result = false)]
		[TestCase(2, Result = true)]
		public bool IsEven(long n)
		{
			return Check.That(n).IsEven();
		}

		[TestCase(0, Result = false)]
		[TestCase(1, Result = true)]
		[TestCase(2, Result = false)]
		public bool IsOdd(long n)
		{
			return Check.That(n).IsOdd();
		}

		[TestCase(-1, Result = false)]
		[TestCase(0, Result = false)]
		[TestCase(1, Result = true)]
		public bool IsPositive(long n)
		{
			return Check.That(n).IsPositive();
		}

		[TestCase(-1, Result = true)]
		[TestCase(0, Result = false)]
		[TestCase(1, Result = false)]
		public bool IsNegative(long n)
		{
			return Check.That(n).IsNegative();
		}

		[TestCase(-1, Result = true)]
		[TestCase(0, Result = true)]
		[TestCase(1, Result = false)]
		public bool IsNotPositive(long n)
		{
			return Check.That(n).IsNotPositive();
		}

		[TestCase(-1, Result = false)]
		[TestCase(0, Result = true)]
		[TestCase(1, Result = true)]
		public bool IsNotNegative(long n)
		{
			return Check.That(n).IsNotNegative();
		}

		[TestCase(-1, Result = false)]
		[TestCase(0, Result = true)]
		[TestCase(50, Result = true)]
		[TestCase(100, Result = true)]
		[TestCase(101, Result = false)]
		public bool IsPercentage(long n)
		{
			return Check.That(n).IsPercentage();
		}
	}
}